﻿// 4795. 安全区域.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://www.acwing.com/problem/content/4798/

给定一个 n×n
 的方格棋盘和 m
 个国际象棋中的车。

对于一个方格，如果该方格满足以下两个条件中的至少一个，则该方格会被车攻击到：

该方格内有车。
至少有一个车与该方格位于同一行或同一列。
现在，我们要将 m
 个车逐个放入到棋盘中，其中第 i
 个车放到棋盘的第 xi
 行第 yi
 列的方格中。

车的编号从 1
 到 m
，行/列的编号从 1
 到 n
。

保证任意两个车不会放到同一个方格中。

对于 1≤i≤m
，请你计算，将前 i
 个车放入到棋盘中后，有多少个方格不会被车攻击到。

输入格式
第一行包含两个整数 n,m
。

接下来 m
 行，其中第 i
 行包含两个整数 xi,yi
，表示第 i
 个车放到棋盘的第 xi
 行第 yi
 列的方格中。

输出格式
在 1
 行内输出 m
 个数，其中第 i
 个数表示将前 i
 个车放入到棋盘中后，不会被车攻击到的方格数量。

数据范围
前 3
 个测试点满足 1≤m≤3
。
所有测试点满足 1≤n≤105
，1≤m≤min(105,n2)
，1≤xi,yi≤n
。

输入样例1：
3 3
1 1
3 1
2 2
输出样例1：
4 2 0
输入样例2：
5 2
1 5
5 1
输出样例2：
16 9
输入样例3：
100000 1
300 400
输出样例3：
9999800001
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 